1. Field of the Invention
This invention relates to storage systems, and more specifically to routing of I/O requests to an appropriate storage system via virtual storage volume mapping in Storage Area Network (SAN) systems.
2. Description of the Related Art
Storage area networks (SANs) provide a solution for storing and retrieving mass amounts of data. A typical SAN network architecture may consist of one or more host devices interconnected to one or more network devices or switches through an interface. The network devices or switches may then be interconnected to one or more data storage devices through a second network or interface. Many SAN architectures use Fibre Channel (FC) as the interface or network, however, Ethernet, Infiniband, Internet, and other networks/interfaces may also be used in a SAN architecture.
In an SAN system, there may be one or more physically separated and independent SANs. Physically separated and independent SANs may be desired because a user may want security for data access. For example, if a system consists of two physically separated and independent SANs, SAN_A and SAN_B, if a server in SAN_A has been hacked, the hacker cannot access the storage system in SAN_B because it is physically independent and separated from that of SAN_A. Moreover, a user may not want I/O loads from a server in SAN_A to affect the I/O performance of another server in SAN_B, therefore, desiring SAN_A and SAN_B to be physically separated and independent. If these servers shared one SAN architecture, performance degradation may occur.
However, in systems where security or Input/Output (I/O) performance is not as high a priority, physically separated and independent SANs may be problematic. Servers connected to one SAN (e.g., SAN_A) are not connected to another SAN (e.g., SAN_B) and therefore the servers from SAN_A cannot access any storage systems associated and connected to SAN_B. This is problematic in that sometimes there may be a requirement that the servers in SAN_A have access to storage systems in SAN_B, and vice versa.
Some current SAN systems replicate data from a first storage system to a second storage system via a network, however, a server from one storage system cannot access data including the replicated data in the second storage system. In some other current systems, a virtual SAN (VSAN) is created that separates a physical SAN into multiple logical SANs. Data access from a server that is connected to one VSAN to a storage system that is connected to another VSAN is restricted. I/O loads in one VSAN can be isolated from other VSANs so there is no performance degradation among different VSANs. Thus, because of these capabilities, a user has a choice to create one large physical SAN and connect all of servers and storage systems to the physical SAN, and then separate the physical SAN into multiple VSANs. However, this is problematic in that even if a user has physical SANs in different locations, VSAN requires a user to connect these physical SANs to one big physical SAN. Thus, switches that have the VSAN function need to communicate with each other to keep consistent information of the VSAN configuration. Further, such communications over long distance introduces performance degradation of the system because such communications are slow. Another problem exists in that the VSAN is aware of a Fibre Channel protocol but is not aware of higher layers like Small Computer System Interface (SCSI). VSAN controls which server can access which storage system, but it does not control which server can access which volume in a storage system. Further, a user may want to restrict data access from a server at a SCSI layer, meaning volume level, because it provides more flexibility and granularity, but this is not possible.
Moreover, in other current systems, storage virtualization appliance sits between hosts and storage systems and provides virtualized volumes for the host. Similar to the VSAN, if a host needs to access data in a different SAN, the virtualization appliance must be able to access a SAN in which the host exists and the other SAN. As a result, this requires a large physically connected network. However, a storage virtualization appliance cannot be used by cascading two or more appliances because there is no way to selecting which data can be cached at which appliances or to diagnose in which appliances failures have occurred in the cascaded environment. Also, such appliances are not storage systems that have disk controllers, cache memory, physical storage in which data is stored, etc.
Therefore, there is a need for providing access to servers in one SAN to the storage devices in other physically separated and independent SANs.